A programmable logic device (PLD) may implement a user design by programming a configuration memory of the PLD with configuration data that is generated from a specification of a user design. If the configuration data in the configuration memory is unintentionally modified, then the PLD may no longer implement the user design. For example, cosmic radiation may inject a stream of charged particles into the PLD and an electrical node in the PLD may collect enough charge from the stream of charged particles to cause a temporary change in the value of the electrical node. If the electrical node is on a feedback loop, such as a storage node of a SRAM memory cell, the temporary change in the value of the electrical node may cause corruption of data, such as changing the value stored in the SRAM memory cell. Thus, cosmic radiation may corrupt the configuration data stored in the configuration memory of a PLD and consequently corrupt the user design that is implemented in the PLD by the configuration data.
A checker can monitor the configuration data in the configuration memory of the PLD and issue an error upon detection of the corruption of the configuration data. However, cosmic radiation and noise sources may affect the checker such that an error is issued even though the configuration data is not corrupted. For example, a signal for reading configuration data from the configuration memory may be changed by charge injected into the signal from cosmic radiation, such that the checker falsely indicates corruption of the configuration data. Addressing false indications of corruption of the configuration data may be time consuming and expensive.
The present invention may address one or more of the above issues.